Fix draw_drawable being offset when using window as source (testgtk text test)
authorAlexander Larsson <alexl@redhat.com>
Fri, 5 Dec 2008 18:24:55 +0000 (19:24 +0100)
committerAlexander Larsson <alex@localhost.localdomain>
Thu, 2 Apr 2009 08:14:07 +0000 (10:14 +0200)
gdk/gdkwindow.c

index ea5642fe82bd849786078c697952aa9ea125456a..4c01723a7658da30ec27ef3f44cbf8c73e1ac56a 100644 (file)
@@ -2764,6 +2764,13 @@ gdk_window_draw_drawable (GdkDrawable *drawable,
   if (GDK_WINDOW_DESTROYED (drawable))
     return;
 
+  /* By this time the src has been gotten via get_composite_drawable.
+     If it is a window this implies lots of stuff that we don't want
+     to do again in the call below. So, we use the impl as the source to
+     avoid this. */
+  if (GDK_IS_WINDOW (src))
+    src = GDK_WINDOW_OBJECT (src)->impl;
+  
   /* If we have a backing pixmap draw to that */
   if (private->paint_stack)
     {